// pages/reservation/reservation.js
import {bindMobild,bindUser,getTips} from '../../http/protocol';
import {appkey,appId} from '../../const/common';
import {getSetting,getUserInfo,updatecode,getLogin} from '../../const/util'
console.log(appkey)
const app = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    openType:'getUserInfo',
    rechtext:''
  },

  async onShow() {
  
  },

  goto() {
    console.log(11)
    wx.navigateTo({
      url: '/pages/reserve/reserve',
    })
  },

  // 点击用户按钮 初次要调用弹窗 

  async bindUserInfo(e,) {
    console.log(e)
    let {detail,detail:{encryptedData,rawData,signature,iv,errMsg,userInfo}} = e;
    if(errMsg === 'getUserInfo:ok') {
      let code = await getLogin();
      console.log(code)
      wx.showLoading()
      let res = await bindUser({appkey, code,
        data: JSON.stringify({encryptedData, rawData,signature,iv})
      })
      
      if(res.success) {
        let data =res.data;
        let {memberEncode, bindMobile} = data;
        console.log('memberEncode222',memberEncode)

        wx.setStorageSync('memberEncode', memberEncode);
        wx.setStorageSync('bindMobile', bindMobile);
        if(bindMobile === 'N') {
          this.setData({openType:'getPhoneNumber'});
        } else {
          this.setData({openType:'next'})
        }
      } else {
        wx.showToast({
          title: res.msg,
          icon:'none'
        })
      }
      wx.hideLoading()

    }


  },


  async bindMobile(e){
    console.log(e)
    let {detail, detail : {encryptedData}} = e;
    if(detail.errMsg === "getPhoneNumber:ok") {
    let code = await getLogin();
    console.log(code)
   let res = await bindMobild({
      appkey,   code, data: JSON.stringify(detail),
    })
    if(res.success) {
      // 绑定手机号后 更新code
      wx.showToast({
        title: "授权登录成功",
        icon:'none'
      })
      updatecode(()=> {
        this.goto()
      });
    } else {
      wx.showToast({
        title: res.msg,
        icon:'none'
      })
    }
    } else {

    }
 
    // console.log(res)
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: async function (options) {

    if(options.programId) {
      app.programId = options.programId;
      let res = await getTips({ programId: app.programId    })
      if(res.success && res.data) this.setData({rechtext:res.data.description})
    }
    // wx.showLoading()
    // wx.hideLoading()

    // let logins = await checkLogin(); // 登陆泰
    let setting = await getSetting(); // 是否授权
    console.log('setting===>',setting)
      // 如果用户授权过 就直接拿code
    let memberEncode = wx.getStorageSync('memberEncode');
    let bindMobile = wx.getStorageSync('bindMobile');

    if(!!setting ) { // 如果设置了授权信息 则绑定用户信息
      let userInfo = await getUserInfo();
      this.bindUserInfo({detail: userInfo});
      // if(!!memberEncode) { //绑定了用户信息
      //   if(bindMobile === "Y") {
      //     this.setData({openType:'next'})
      //   } else {
      //     this.setData({openType:'getPhoneNumber'})
      //   }
      // } else { // 绑定了用户信息失败 
      //   let userInfo = await getUserInfo();
      //   this.bindUserInfo({detail: userInfo})
      // }
    } 



    // console.log('logins,',logins)
    // if(!logins) { // 如果是登陆失效 重置登陆code  membercode 还有用户信息
    //   let code = await getLogin(); // 
    //   wx.setStorageSync('code', code);
    //   if(setting) { // 已经授权了用户信息 此时应该绑定了 也可能为绑定
    //   } else { // 没有授权用户信息, 1 拒绝了绑定，2 第一次进入没有绑定，3或者用户删除了小程序，
    //     // 啥都不做，让用户自己点按钮 按钮此时是 我知道了！
    //   } 
    // } else {
    //   //看是否用户授权可以获取用户信息
    //   if(setting) {
    //   }
    // }
    //   // 如果用户授权过 就直接拿code
    //   if(!!data) {
    //     let userInfo = await getUserInfo();
    //     this.bindUserInfo({detail: userInfo})
    //   }
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  },

  /**
   * 生命周期函数--监听页面显示
   */


  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})